package com.authine.cloudpivot.ext.model.order;

import com.authine.mvp.app.launcher.domain.SelectorFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 订单商品VO
 * Created by Kris Wang on 2018/5/28.
 *
 * @author update 张磊
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("订单商品")
public class CustomerOrderGoodsVo implements Serializable {

    private static final long serialVersionUID = -4494303158417183258L;
    @ApiModelProperty(value = "商城商品ID", example = "91738", required = true, position = 1)
    private String goods_id;
    @ApiModelProperty(value = "商品来源类型 1 固买商城，2 寻源商品, 3 企业商城, 4 外部商城订单", example = "3", required = true, position = 2)
    private String goods_src;
    @ApiModelProperty(value = "外部来源订单商品id", example = "8878", required = true, position = 3)
    private String client_order_goods_id;
    @ApiModelProperty(value = "供应商Id", example = "72", position = 5)
    private SelectorFormat vendor_organization_id;
    @ApiModelProperty(value = "商品名称", example = "防触电紧急救援钩", position = 5)
    private String name;
    @ApiModelProperty(value = "品牌", example = "电之虹", position = 5)
    private String brand;
    @ApiModelProperty(value = "型号", example = "绝缘救援钩35KV", position = 5)
    private String model;
    @ApiModelProperty(value = "规格", example = "规格", position = 5)
    private String spec;
    @ApiModelProperty(value = "数量", example = "5", required = true, position = 4)
    private BigDecimal num;
    @ApiModelProperty(value = "单位", example = "个", position = 5)
    private String unit;
    @ApiModelProperty(value = "包装数量", example = "5", position = 5)
    private BigDecimal package_num;
    @ApiModelProperty(value = "包装单位", example = "个", position = 5)
    private String package_unit;
    @ApiModelProperty(value = "货期", example = "8", position = 5)
    private BigDecimal delivery;
    @ApiModelProperty(value = "金税编码", example = "金税编码", position = 5)
    private String golden_tax;
    @ApiModelProperty(value = "税率", example = "0.16", position = 5)
    private BigDecimal tax_rate;
    @ApiModelProperty(value = "运费税率", example = "0.06", position = 5)
    private BigDecimal freight_rate;
    @ApiModelProperty(value = "税前商品单价", example = "301.72414", position = 5)
    private BigDecimal pretax_price;
    @ApiModelProperty(value = "税后商品单价", example = " 350.0000024", position = 5)
    private BigDecimal price;
    @ApiModelProperty(value = "税前运费", example = "0", position = 5)
    private BigDecimal pretax_freight;
    @ApiModelProperty(value = "税后商品运费共计", example = "1750", position = 5)
    private BigDecimal amount;
    @ApiModelProperty(value = "备注", example = "备注", position = 5)
    private String memo;
    @ApiModelProperty(value = "物料编码", position = 5)
    private String sku;

    @ApiModelProperty(value = "区域", position = 5)
    private String region;
    @ApiModelProperty(value = "公司", position = 5)
    private String company;
    @ApiModelProperty(value = "仓库", position = 5)
    private String warehouse;
    @ApiModelProperty(value = "扩展字段", position = 5)
    private String extends_attr;

}
